Memory is an integral part of any computing device for storing and retrieving information. Computer memory may be classified on different basis, such as amount of data (for example, mass storage versus cache memory), access (for example, random access memory versus read-only memory), technology (for example, magnetic versus optical), performance (for example, archival versus execution memory), and the like. With the ubiquity of computers and communication networks for personal and business use, the need for data storage has increased exponentially in recent years. This need is especially increased due to the abundance and constant production of multimedia data such as music, video clips, and pictures. Commensurate with increased use of memory is the increased need for reliability of storage medium and storage of data in absence of power. Relatively recent technologies used for solid-state storage of data, especially for mobile devices, include flash memories and phase-change memories (PCM) that retain stored information in absence of power. Set pulse, used to write a data bit to a PCM cell, may vary significantly from cell to cell in a memory array, potentially causing subsequent read errors resulting in data reliability problems.